منحنی بزیه

از ویکی‌پدیا، دانشنامهٔ آزاد
منحنی درجه سه بزیه و نقاط کنترل و لنگر آن
چگونگی رسم منحنی درجه سه بزیه با داشتن دو نقطهٔ لنگر و دو نقطهٔ کنترل
توابع بنیادی در بازهٔ t روی [۰٬۱] برای منحنی بزیه:
آبی: y = (۱ − t)3،
سبز: y= ۳(۱ − t)2 t،
قرمز: y= ۳(۱ − t) t2، و
نیلی: y = t3.

منحنی بزیه (انگلیسی: Bézier curve)، گونه‌ای منحنی پارامتری مورد استفاده در گرافیک رایانه‌ای و صنایع مربوط به آن است. تعمیم‌های منحنی بزیه به ابعاد بالاتر را سطوح بزیه می گویند که یکی از حالت‌های خاص آن‌ها، مثلث بزیه است.

در گرافیک برداری، از منحنی‌های بزیه برای مدل‌سازی منحنی‌های نرمی استفاده می‌شود که می‌توانند تا بی‌نهایت بزرگ و کوچک شوند. از پیوند زدن چند منحنی بزیه ساده یک مسیر (به انگلیسی: Path) (منحنی بزیهٔ پیچیده) حاصل می‌شود. مسیرها دارای محدودیت‌های تصویری گرافیک شطرنجی (به انگلیسی: Raster) نیستند و کار با آن‌ها از نظر شهودی آسان است.

مبنای ریاضیاتی منحنی‌های بزیه چندجمله‌ای‌های برنشتاین است که از سال ۱۹۱۲ شناخته شده‌بود، ولی از این چندجمله‌ای تا حدود ۵۰ سال بعد در گرافیک استفاده‌ای نشد تا این که مهندس فرانسوی پیر بزیه برای طراحی بدنهٔ خودروهای رنو از آن بهره برد.

هر منحنی بزیه دو نقطه لنگر (به انگلیسی: Anchor point) و دو نقطه کنترل (به انگلیسی: Control point) دارد. نقطه‌های لنگر ابتدا و انتهای منحنی را مشخص می‌کنند و نقطه‌های کنترل انحنای مسیر را تعیین می‌نمایند. پاره‌خطی که یک نقطهٔ لنگر را به یک نقطهٔ کنترل وصل می‌کند، به دستگیره (به انگلیسی: Handle) معروف است.

اختراع[ویرایش]

مبنای ریاضی منحنی‌های بزیه (چندجمله‌ای‌های برنشتاین) در سال ۱۹۱۲ تبیین شد اما از این چندجمله‌ای‌ها در زمینه گرافیک استفاده‌ای نشد. حدود ۵۰ سال بعد وقتی پل دو کاستلژو ریاضیدان در ۱۹۵۹، الگوریتم دو کاستلژو (یک روش عددی پایدار برای ارزیابی منحنی‌ها) را ایجاد کرد، برای نخستین بار از این چندجمله‌ای‌ها در طراحی اتومبیل سیتروئن به کمک رایانه استفاده کرد.[۱] این چندجمله‌ای‌ها در دهه ۱۹۶۰ توسط مهندس فرانسوی پیر بزیه، که از آن‌ها برای طراحی بدنه اتومبیل در شرکت رنو استفاده می‌کرد، به‌طور گسترده تبلیغ شد.

موارد خاص[ویرایش]

منحنی بزیه توسط مجموعه‌ای از نقاط کنترل P0 تا Pn تعریف می‌شود، جایی که n ترتیب آن را می‌نامند (n = ۱ برای خطی، ۲ برای درجه دوم و غیره). اولین و آخرین نقاط کنترل همیشه نقاط انتهایی منحنی هستند. با این حال، نقاط کنترل میانی (در صورت وجود) به‌طور کلی روی منحنی قرار ندارند. در بخش‌های زیر، همه‌ی ترکیب‌های خطی را آفین در نظر بگیرید؛ یعنی حاصل جمع ضرایب، برابر 1 است.

منحنی‌های خطی بزیه[ویرایش]

با توجه به نقاط مجزای P0 و P1، یک منحنی خطی بزیه فقط یک خط مستقیم بین این دو نقطه است. این منحنی را با معادله‌ی

نمایش می‌دهیم و معادل درون‌یابی خطی است.

منحنی‌های درجه دوم بزیه[ویرایش]

بزیه درجه دوم در هنر زهی: نقاط انتهایی () و نقطه کنترل (×) منحنی درجه دوم بزیه () را تعریف می‌کنند.

منحنی درجه دوم بزیه مسیری است که با داشتن نقاط P0، P1 و P2 توسط تابع ردیابی می‌شود:

که به ترتیب می‌تواند به عنوان درون‌یابی خطی نقاط متناظر در منحنی‌های خطی بزیه از P0 به P1 و از P1 به P2 تفسیر شود. اگر معادله‌ی قبلی را ساده کنیم، به معادله زیر می‌رسیم:

این را می‌توان به گونه‌ای نوشت که تقارن را با توجه به P1 برجسته کند:

حال می‌توانیم مشتق منحنی بزیه را نسبت به t محاسبه کنیم:

پس می‌توان نتیجه گرفت که مماس‌های منحنی در نقاط P0 و P2 در نقطه‌ی P1 یکدیگر را قطع می‌کنند. وقتی t از ۰ به ۱ افزایش می‌یابد، منحنی از P0 در جهت P1 حرکت می‌کند، سپس خم می‌شود تا از جهت P به P2 برسد.

مشتق دوم منحنی بزیه نسبت به t نیز چنین است:

منحنی‌های مکعب بزیه[ویرایش]

چهار نقطه P 0، P 1، P 2 و P 3 در صفحه یا در فضای بعد بالاتر، منحنی بزیه مکعبی را تعریف می‌کنند. منحنی از P 0 شروع می‌شود و به سمت P 1 می‌رود و و از جهت P به P3 می‌رسد. معمولاً از P 1 یا P 2 عبور نخواهد کرد. این نقاط فقط برای ارائه اطلاعات جهت دار وجود دارد. فاصله بین P 1 و P 2 «تا چه حد» و «چگونه سریع» حرکت منحنی به سمت P 1 قبل از انحراف به سمت P 2 را تعیین می‌کند.

نوشتن BPi,Pj,Pk(t) برای منحنی درجه دوم بزیه که توسط نقاط P i، P j و P k تعریف شده‌است، منحنی بزیه مکعب را می‌توان به عنوان ترکیبی از دو منحنی درجه دوم بزیه تعریف کرد:

فرم صریح منحنی به شرح زیر است:

برای بعضی از گزینه‌های P 1 و P 2 منحنی ممکن است خودش را قطع کند یا حاوی یک تکینگی (cusp) باشد.

هر سری از ۴ نقطه مشخص را می‌توان به یک منحنی بزیه مکعب تبدیل کرد که به ترتیب از هر ۴ نقطه عبور می‌کند. با توجه به نقطه شروع و پایان برخی از منحنی‌های بزیه مکعب، و نقاط امتداد منحنی مربوط به t = ۱/۳ و t = ۲/۳، نقاط کنترل منحنی بزیه اصلی را می‌توان بازیابی کرد.[۲]

مشتق منحنی بزیه مکعب با توجه به t مقدار زیر است:

مشتق دوم منحنی بزیه با توجه به t مقدار زیر است:

تعریف کلی[ویرایش]

منحنی‌های بزیه را می‌توان برای هر درجه n میتوان تعریف کرد.

تعریف بازگشتی[ویرایش]

یک تعریف بازگشتی برای منحنی بزیه از درجه n، آن را به عنوان یک ترکیب خطی نقطه به نقطه (درون یابی خطی) از یک جفت نقطه مربوط در دو منحنی بزیه از درجه بیان می‌کند.

اجازه دهید منحنی بزیه را مشخص می‌کنیم که با انتخاب هر یک از نقاط P 0، P 1 ،. ، P n سپس برای شروع،

این بازگشت در انیمیشن‌های زیر توضیح داده شده‌است.

تعریف صریح[ویرایش]

فرمول را می‌توان به صراحت به شرح زیر بیان کرد:

جایی که ضرایب دوجمله‌ای هستند.

به عنوان مثال، برای n = ۵:

واژه‌شناسی[ویرایش]

برخی اصطلاحات با این منحنی‌های پارامتریک مرتبط است. ما داریم:

چند جمله ای‌ها:

به چند جمله ای پایه برنشتاین درجه n معروف هستند.

توجه داشته باشید که t 0 = ۱، (1 - t) 0 = ۱، و ضریب دوجمله‌ای، ، است:

نقاط P i را برای منحنی بزیه نقاط کنترلی می‌نامند. چند ضلعی حاصل از اتصال نقاط بزیه با خطوط، شروع با P 0 و پایان دادن به P n، چند ضلعی بزیه (یا چند ضلعی کنترل) نامیده می‌شود. بدنه محدب چند ضلعی بزیه شامل منحنی بزیه است.

فرم چند جمله‌ای[ویرایش]

گاهی مطلوب است که منحنی بزیه را به جای چند جمله، چند جمله‌ای ساده‌تر برنشتاین به صورت چند جمله‌ای بیان کنید. استفاده از قضیه دوجمله‌ای در تعریف منحنی و به دنبال برخی از مقداری بازآرایی نتیجه می‌دهد:

که

این می‌تواند عملی باشد اگر می‌تواند قبل از بسیاری از ارزیابی‌ها محاسبه شود ؛ با این وجود باید احتیاط کرد زیرا منحنی‌های مرتبه بالا ممکن است از ثبات عددی برخوردار نباشند (در صورت بروز این الگوریتم دی Casteljau باید استفاده شود). توجه داشته باشید که محصول خالی ۱ است.

خواص[ویرایش]

نحنی بزیه مکعب (زرد) را می‌توان با یک درجه دوم (سیاه) ساخته شده توسط۱ کپی کردن نقاط پایان، و ۲ قرار دادن ۲ نقطه کنترل میانی آن (دایره‌های زرد) ۲/۳ در امتداد بخشهای خط از نقاط انتهایی تا نقطه کنترل میانی منحنی درجه دوم (مستطیل سیاه)
  • منحنی از P 0 شروع می‌شود و در P n پایان می‌یابد. این ویژگی به اصطلاح نقطه درون‌یابی است.
  • منحنی یک خط مستقیم اگر و تنها اگر تمام نقاط کنترل‌شونده خطی باشند.
  • شروع و انتهای منحنی به ترتیب با قسمت اول و آخرین چند ضلعی بزیه مماس است.
  • یک منحنی را می‌توان در هر نقطه به دو زیر شاخه، یا به دلخواه بسیاری از زیرشاخه‌ها تقسیم کرد که هر یک از آن‌ها نیز منحنی بزیه است.
  • برخی از منحنی‌های ساده به نظر می‌رسند، مانند دایره، نمی‌توان دقیقاً توسط منحنی بزیه یا بزیه به‌صورت قطعه ای توصیف کرد. اگرچه یک منحنی بزیه مکعب چهار قطعه می‌تواند یک دایره تقریبی را ببینید (به منحنی ترکیبی بزیه مراجعه کنید)، با حداکثر خطای شعاعی کمتر از یک قسمت در هزار، وقتی هر نقطه کنترل داخلی (یا نقطه آفلاین) فاصله باشد به صورت افقی یا عمودی از یک نقطه کنترل بیرونی روی یک دایره واحد. به‌طور کلی، یک منحنی بزیه مکعب n-قطعه می‌تواند یک دایره را تقریبی بداند، زمانی که هر نقطه کنترل داخلی فاصله است از یک نقطه کنترل بیرونی روی یک دایره واحد، جایی که t 360 / n درجه است، و n > 2.
  • هر منحنی درجه دوم بزیه نیز یک منحنی بزیه مکعب است، و به‌طور کلی، هر منحنی بزیه درجه n نیز منحنی درجه m برای هر m > n است. به‌طور جزئی، منحنی درجه n با نقاط کنترل P 0 ، . . ، P n معادل (با پارامتری سازی) منحنی درجه n + 1 با نقاط کنترل P ' 0، است. . . ، P ' n + 1، جایی که .
  • منحنی‌های بزیه دارای خاصیت کاهش تنوع هستند. معنای این از لحاظ شهودی این است که منحنی بزیه بیش از چند ضلعی نقاط کنترل خود را «موج دار شود» و ممکن است در واقع کمتر از آن «موج دار شود».[۳]
  • کنترل محلی در درجه n بزیه منحنی وجود ندارد. معنای آن این است که هر گونه تغییر به یک نقطه کنترل نیاز به تجدید محاسبه و در نتیجه جنبه از کل منحنی تأثیر می‌گذارد، "اگر چه بیشتر که یکی از نقطه کنترل که
    معادلات منحنی درجه یک Bézier و یک بخش سهموی
    تغییر شده‌است، تغییر در منحنی کوچکتر است ".[۴]
  • یک منحنی نظم بزیه بالاتر از دو ممکن است خودش را قطع کند یا برای برخی از گزینه‌های کنترل نقاط قعر باشد.

منحنی مرتبه دوم یک بخش سهمی است[ویرایش]

منحنی درجه دوم بزیه نیز بخشی از یک سهمی است. از آنجا که سهمی یک بخش مخروطی است، برخی منابع از بزیه‌های درجه دوم به عنوان «قوس‌های مخروطی» یاد می‌کنند.[۵] با اشاره به شکل سمت راست، ویژگی‌های مهم سهمی را می‌توان به شرح زیر به دست آورد:[۶]

  1. مماس‌های سهمی در نقاط انتهایی منحنی (A و B) در نقطه کنترل آن (C) تلاقی می‌کنند.
  2. اگر D نقطه میانی AB باشد، مماس منحنی عمود بر CD (خط فیروزه ای خط دار) راس آن را تعریف می‌کند (V). محور تقارن آن (خط فیروزه ای) از V عبور می‌کند و عمود بر مماس است.
  3. E یا نقطه ای از منحنی با مماس در ۴۵ درجه به CD (سبز تیره) است. اگر G محل تلاقی این مماس و محور باشد، خط عبوری از G و عمود بر CD، دایرکتریکس (سبز جامد) است.
  4. کانون (F) در تقاطع محور و خطی است که از E عبور می‌کند و عمود بر CD است (زرد نقطه دار). راست روده (Latus rectum) قطعه خط درون منحنی (زرد جامد) است.

مشتق[ویرایش]

مشتق منحنی سفارش n است

ساخت منحنی‌های بزیه[ویرایش]

منحنی‌های خطی[ویرایش]

t در تابع را برای یک منحنی خطی بزیه می‌توان تصور کرد که فاصله B (t) از P 0 به P 1 چیست. به عنوان مثال، وقتی t = ۰٫۲۵، B (t) یک چهارم راه از نقطه P 0 به P 1 است. از آنجا که t از ۰ تا ۱ متغیر است، B (t) یک خط مستقیم از P 0 به P 1 را توصیف می‌کند.

منحنی درجه دوم[ویرایش]

برای منحنی‌های درجه دوم بزی می‌توان نقاط میانی Q 0 و Q 1 را طوری ساخت که t از ۰ تا ۱ متغیر باشد:

  • نقطه از P 0 تا P 1 متغیر است و یک منحنی خطی بزیه را توصیف می‌کند.
  • نقطه از P 1 تا P 2 متفاوت است و منحنی خطی بزیه را توصیف می‌کند.
  • نقطه B (t) بین تا به صورت خطی درون یابی می‌شود و منحنی درجه دوم بزیه را توصیف می‌کند.

منحنی‌های مرتبه بالاتر[ویرایش]

برای منحنی‌های مرتبه بالاتر شخص به نقاط میانی بیشتری احتیاج دارد. برای منحنی‌های مکعبی می‌توان نقاط میانی Q 0، Q 1 و Q 2 را که منحنی‌های خطی بزیه را توصیف می‌کند و نقاط R 0 & R 1 را که منحنی‌های درجه دوم بزیه را توصیف می‌کنند، ساخت:

برای منحنی‌های مرتبه چهارم می‌توان نقاط میانی Q 0، Q 1، Q 2 و Q 3 را ساخت که منحنی‌های خطی بزیه، نقاط R 0، R 1 و R 2 را توصیف می‌کند که منحنی‌های درجه دوم بزیه و نقاط S 0 & S 1 را توصیف می‌کند. منحنی‌های بزیه مکعبی را توصیف کنید:

برای منحنی‌های مرتبه پنجم، می‌توان نقاط میانی مشابهی را ساخت.

این نمایش‌ها متکی بر فرایند مورد استفاده در الگوریتم De Casteljau برای محاسبه منحنی‌های بزیه است.[۷]

جبران کردن (معروف به نوازش) منحنی‌های بزیه[ویرایش]

منحنی در یک جابجایی ثابت از یک منحنی بزیه داده نمی‌شود، که در ریاضیات منحنی افست یا موازی نامیده می‌شود ("موازی" با منحنی اصلی قرار دارد، مانند جابجایی بین ریل‌ها در یک مسیر راه‌آهن)، دقیقاً توسط یک منحنی بزیه تشکیل نمی‌شود (به جز در برخی موارد پیش پا افتاده). به‌طور کلی، منحنی انحراف دو طرفه بزیه مکعب یک منحنی جبری مرتبه ۱۰ است[۸] و به‌طور کلی برای یک بزیه درجه n منحنی انحراف دو طرفه یک منحنی جبری درجه ۴ ، است.[۹] با این حال، روشهای ابتکاری وجود دارد که معمولاً تقریب مناسبی را برای اهداف عملی ارائه می‌دهند.[۱۰]

در زمینه گرافیک برداری، به رنگ آمیزی دو منحنی افست با تقارن متقارن نوازش گفته می‌شود (منحنی بزیه یا به‌طور کلی مسیری از چندین بخش بزیه).[۱۱] تبدیل از منحنی‌های افست به خطوط پر شده بزیه از اهمیت عملی در تبدیل فونت‌های تعریف شده در Metafont است که اجازه می‌دهد تا منحنی‌های بزیه را به فونت‌های نوع 1 PostScript که به‌طور گسترده استفاده می‌شود، تبدیل کنید. پر کردن یک کانتور مشخص شده توسط منحنی‌های بزیه (غیر خود تلاقی).[۱۲]

ارتفاع درجه[ویرایش]

منحنی بزیه از درجه n می‌تواند به منحنی بزیه از درجه n+1 با همان شکل تبدیل شود. این در صورتی مفید است که نرم‌افزار منحنی‌های بزیه را فقط در درجه خاص پشتیبانی کند. به عنوان مثال، سیستم‌هایی که فقط می‌توانند با منحنی‌های مکعبی مکعبی کار کنند، می‌توانند با استفاده از نمایش مکعب معادل آنها، به‌طور ضمنی با منحنی‌های درجه دوم کار کنند.

برای انجام ارتفاع درجه، از برابری استفاده می‌کنیم . هر مولفه ضرب در (1 − t) می‌شود و t، بنابراین یک درجه بدون تغییر مقدار افزایش می‌یابد. در اینجا مثالی برای افزایش درجه از ۲ به ۳:

برای n دلخواه از برابری استفاده می‌کنیم

از این رو:

معرفی دلخواه و .

بنابراین، نقاط کنترل جدید[۱۳]

تکرار درجه ارتفاع[ویرایش]

مفهوم ارتفاع درجه را می‌توان بر روی چند ضلعی کنترل R تکرار کرد تا توالی چند ضلعی‌های کنترل R , R 1، R 2 و غیره به دست آید. بعد از افزایش درجه r، چند ضلعی R r دارای رئوس P 0، r، P 1، r، P 2، r، است. . ، P n + r، r داده شده توسط[۱۴]

همچنین می‌توان نشان داد که برای منحنی بزیه زیرین B ,

منحنی‌های بزیه منطقی[ویرایش]

بخشهایی از مقاطع مخروطی دقیقاً توسط منحنی‌های منطقی بزیه نشان داده می‌شوند

منحنی بیزیر منطقی وزنی قابل تنظیم برای ایجاد تقریب نزدیک به اشکال دلخواه اضافه می‌کند. عدد یک منحنی وزنی شکل بزیه به شکل برنشتاین است و مخرج یک مجموع وزنی از چند جمله‌های برنشتاین است. از منحنی‌های منطقی بزیه، در میان سایر کاربردها، می‌توان برای نمایش دقیق بخش‌های مخروطی، از جمله قوسهای دایره ای استفاده کرد.[۱۵]

با توجه به نقاط کنترل P i، منحنی بزیه منطقی را می‌توان با شرح زیر توصیف کرد:

یا به سادگی

این عبارت را می‌توان با استفاده از سیستم‌های عددی علاوه بر واقعی برای اوزان، گسترش داد. در صفحه پیچیده، نقاط {۱}، {-۱} و {۱} با وزن { }، {۱} و { } یک دایره کامل با شعاع یک ایجاد کنید. برای منحنی‌های دارای نقطه و وزن روی یک دایره، وزن‌ها را می‌توان بدون تغییر شکل منحنی مقیاس بندی کرد.[۱۶] مقیاس گذاری وزن مرکزی منحنی فوق توسط ۱٫۳۵۵۰۸، پارامتر سازی یکنواخت تری را به دست می‌دهد.

برنامه‌های کاربردی[ویرایش]

گرافیک کامپیوتری[ویرایش]

مسیر بزیه در Adobe Illustrator

منحنی‌های بزیه به‌طور گسترده‌ای در گرافیک کامپیوتر برای مدل‌سازی منحنی‌های صاف استفاده می‌شود.از آنجایی که منحنی به طور کامل در بدنه محدب (پوسته محدب) نقاط کنترل آن قرار دارد ، می توان نقاط را به صورت گرافیکی نمایش داد و برای دستکاری منحنی به طور مستقیم استفاده کرد. با اعمال تبدیل مربوطه بر روی نقاط کنترل منحنی می توان تبدیلات آفین مانند انتقال (هندسه) و چرخش را روی منحنی اعمال کرد.

منحنی‌های درجه دوم و مکعب بزیه بیشترین شیوع را دارند. منحنی‌های درجه بالاتر برای ارزیابی از نظر محاسباتی گران ترند. در صورت نیاز به اشکال پیچیده‌تر، منحنی‌های کم‌نظیر بزیه به هم وصل می‌شوند و یک منحنی بزیه مرکب تولید می‌کنند. از منحنی ترکیبی بزیه معمولاً به عنوان «مسیر» در زبانهای گرافیکی برداری (مانند PostScript)، استانداردهای گرافیکی برداری (مانند SVG) و برنامه‌های گرافیکی برداری (مانند Artline، Timeworks Publisher، Adobe Illustrator، CorelDraw، Inkscape و Allegro) یاد می‌شود. . به منظور پیوستن منحنی‌های بزیه به یک منحنی ترکیبی بزیه و بدون انحراف، خاصیتی به نام G1 مداوم، کافی است که نقطه کنترل

ترکیب انتزاعی منحنی‌های بزیه مکعب که به صورت سه بعدی ردیابی می‌شوند. تقاطع ری با حجم جاروب شده در امتداد منحنی‌ها با الگوریتم Phantom Ray-Hair Intersector محاسبه می‌شود[۱۷] .

ی را که در آن دو منحنی تشکیل دهنده بزیه به هم می‌رسند، مجبور کنیم در روی خط مشخص شده توسط دو نقطه کنترل در دو طرف قرار بگیریم.

ساده‌ترین روش برای تبدیل اسکن (تصادفی سازی) منحنی بزیه ارزیابی آن در بسیاری از نقاط با فاصله نزدیک و اسکن تبدیل توالی تقریبی بخشهای خط است. با این حال، این تضمین نمی‌کند که خروجی تصادفی شده به اندازه کافی صاف به نظر می‌رسد، زیرا ممکن است نقاط از یکدیگر بسیار دور باشند. برعکس ممکن است در مناطقی که منحنی نزدیک به خطی است، نقاط زیادی ایجاد کند. یک روش تطبیقی معمول، تقسیم بازگشتی است که در آن نقاط کنترل یک منحنی بررسی می‌شود تا ببیند که آیا منحنی به یک خط مستقیم نزدیک به یک تحمل کوچک است. در غیر این صورت، منحنی از نظر پارامتری به دو بخش و تقسیم می‌شود و روش مشابه به‌طور بازگشتی برای هر نیمه اعمال می‌شود. روش‌های متمایزسازی به جلو نیز وجود دارد، اما باید برای تجزیه و تحلیل انتشار خطا بسیار دقت شود.[۱۸]

روشهای تحلیلی که یک بزیه با هر خط اسکن قطع می‌شود شامل یافتن ریشه‌های چند جمله ای مکعبی (برای بزیه‌های مکعبی) و مقابله با چندین ریشه است، بنابراین آن‌ها در عمل اغلب استفاده نمی‌شوند.[۱۹]

الگوریتم rasterisation مورد استفاده در Metafont مبتنی بر تشخیص منحنی است، به طوری که با دنباله ای از "حرکت‌های rook " که کاملاً عمودی یا کاملاً افقی هستند، در امتداد مرزهای پیکسل تقریب می‌یابد. بدین منظور، هواپیما ابتدا به هشت بخش ۴۵ درجه تقسیم می‌شود (توسط محورهای مختصات و دو خط )، سپس منحنی به بخش‌های کوچکتر تجزیه می‌شود، به طوری که جهت یک بخش منحنی در یک بخش باقی می‌ماند. از آنجا که سرعت منحنی یک چند جمله ای درجه دو است، پیدا کردن مقادیری که موازی یکی از این خطوط باشد را می‌توان با حل معادلات درجه دوم انجام داد. در هر بخش، حرکت افقی یا عمودی غالب است و تعداد کل مراحل در هر جهت را می‌توان از مختصات نقطه انتهایی خواند. برای مثال حرکت افقی بخش ۰–۴۵ درجه به سمت راست غالب است، بنابراین فقط باید تصمیم بگیرید که بین کدام پله‌ها به سمت راست منحنی باید یک پله بالا برود.[۲۰]

انیمیشن[ویرایش]

در برنامه‌های انیمیشن سازی، مانند Adobe Flash و Synfig، از منحنی‌های بزیه برای طرح کلی، به عنوان مثال حرکت، استفاده می‌شود. کاربران مسیر مورد نظر را در منحنی‌های بزیه ترسیم می‌کنند، و برنامه قاب‌های لازم را برای حرکت جسم در طول مسیر ایجاد می‌کند.[۲۱][۲۲]

در انیمیشن سه بعدی، منحنی‌های بزیه اغلب برای تعریف مسیرهای سه بعدی و همچنین منحنی‌های دو بعدی برای درهم آمیختن فریم کلیدی استفاده می‌شوند.[۲۳] منحنی‌های بزیه اکنون به‌طور مداوم برای کنترل کاهش انیمیشن در CSS، JavaScript و JavaFx استفاده می‌شود.

قلم‌ها[ویرایش]

قلم‌های TrueType از منحنی‌های بزیه مرکب متشکل از منحنی‌های درجه دوم بزیه استفاده می‌کنند. زبان‌‌های دیگر و ابزارهای تصویربرداری (مانند PostScript، Asymptote، Metafont و SVG) از بزیه مرکب متشکل از منحنی‌های بزیه مکعب برای ترسیم اشکال منحنی استفاده می‌کنند. بسته به طعم قلم، قلمهای OpenType می‌توانند از هر دو نوع استفاده کنند.[۲۴]

رندر داخلی تمام منحنی‌های بزیه در رندرهای فونت یا گرافیک برداری، آن‌ها را به صورت بازگشتی تقسیم می‌کند تا جایی که منحنی به اندازه کافی مسطح باشد تا به صورت مجموعه ای از بخش‌های خطی یا دایره ای ترسیم شود. الگوریتم تقسیم دقیق به اجرا وابسته است، فقط معیارهای مسطح بودن باید رعایت شود تا به دقت لازم برسد و از تغییر موضع منحنی غیر یکنواخت جلوگیری کند. ویژگی «منحنی روان» نمودارها در Microsoft Excel نیز از این الگوریتم استفاده می‌کند.[۲۵]

از آنجا که قوس دایره‌ها و بیضی‌ها را نمی‌توان دقیقاً توسط منحنی‌های بزیه نشان داد، ابتدا با منحنی‌های بزیه تقریب می‌شوند که به نوبه خود با قوس‌های دایره‌ها تقریب می‌شوند. این ناکارآمد است زیرا تقریب‌های منحنی بزیه با استفاده از کمان‌های دایره یا بیضی نیز وجود دارد، که می‌تواند با دقت دلخواه به صورت تدریجی ارائه شود. رویکرد دیگری که توسط آداپتورهای گرافیکی سخت‌افزاری مدرن با هندسه شتابدهنده استفاده می‌شود، می‌تواند دقیقاً تمام منحنی‌های بزیه و مخروطی (یا سطوح) را به NURBS تبدیل کند، که می‌تواند بدون تقسیم منحنی به صورت بازگشتی به صورت افزایشی ارائه شود تا به شرایط مسطح لازم برسد. این روش همچنین اجازه می‌دهد تا تعریف منحنی را تحت همه تبدیل‌ها و پیش‌بینی‌های 2D و 3D خطی یا پرسپکتیو حفظ کنیم.

موتورهای قلم، مانند FreeType، منحنی‌های قلم (و خطوط) را با استفاده از فرایندی که به عنوان rasterization قلم شناخته‌می‌شود، روی یک سطح پیکسلی ترسیم می‌کنند.[۲۶]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. {{cite book}}: Empty citation (help)
  2. John Burkardt. "Forcing Bezier Interpolation". Archived from the original on 2013-12-25.
  3. {{cite book}}: Empty citation (help)
  4. {{cite book}}: Empty citation (help)
  5. "FreeType Glyph Conventions / VI. FreeType outlines". The Free Type Project. 13 February 2018."FreeType Glyph Conventions – Version 2.1 / VI. FreeType outlines". 6 March 2011. Archived from the original on 2011-09-29.
  6. {{cite book}}: Empty citation (help)
  7. Shene, C. K. "Finding a Point on a Bézier Curve: De Casteljau's Algorithm". Retrieved 6 September 2012.
  8. Mark Kilgard (April 10, 2012). "CS 354 Vector Graphics & Path Rendering". p. 28.
  9. Rida T. Farouki. "Introduction to Pythagorean-hodograph curves" (PDF). Archived from the original (PDF) on 5 June 2015. Retrieved 5 February 2021., particularly p.  16 "taxonomy of offset curves".
  10. For example: or. For a survey see.
  11. Mark Kilgard (April 10, 2012). "CS 354 Vector Graphics & Path Rendering". p. 28.
  12. Richard J. Kinch (1995). "MetaFog: Converting Metafont shapes to contours" (PDF). TUGboat. 16 (3–Proceedings of the 1995 Annual Meeting).
  13. {{cite book}}: Empty citation (help)
  14. {{cite book}}: Empty citation (help)
  15. Neil Dodgson (2000-09-25). "Some Mathematical Elements of Graphics: Rational B-splines". Retrieved 2009-02-23.
  16. J. Sánchez-Reyes (November 2009). "Complex rational Bézier curves". Computer Aided Geometric Design. 26 (8): 865–876. doi:10.1016/j.cagd.2009.06.003.
  17. Alexander Reshetov and David Luebke, Phantom Ray-Hair Intersector. In Proceedings of the ACM on Computer Graphics and Interactive Techniques (August 1, 2018).
  18. Xuexiang Li; Junxiao Xue. "Complex Quadratic Bézier Curve on Unit Circle". Zhengzhou, China: School of Software, Zhengzhou University.
  19. Xuexiang Li; Junxiao Xue. "Complex Quadratic Bézier Curve on Unit Circle". Zhengzhou, China: School of Software, Zhengzhou University.
  20. Parts 19–22 of {{cite book}}: Empty citation (help)
  21. "Using motion paths in animations". Adobe. Retrieved 2019-04-11.
  22. "Following a Spline". Synfig Wiki. Retrieved 2019-04-11.
  23. Dodgson, Neil A. (1999). "Advanced Graphics Lecture Notes" (PDF). cl.cam.ac.uk. University of Cambridge Computer Laboratory.
  24. "The difference between CFF and TTF". Know How. Linotype. Archived from the original on 2017-07-03. Retrieved 3 July 2018. The OpenType format was formulated in 1996. By 2003, it began to replace two competing formats: the Type1 fonts, developed by Adobe and based on [P]ost[S]cript, and the TrueType fonts, specified by Microsoft and Apple. (...) TTF stands for TrueTypeFont and indicates that the font data is the same as in the TrueType fonts. CFF stands for the Type1 font format. Strictly speaking, it refers to the Compact Font Format, which is used in the compression processes for the Type2 fonts. (...) the cubic Bézier format of the Type1 fonts is more space-saving compared to the quadratic format of the TrueType fonts. Some kilobytes can be saved in large, elaborate fonts, which may represent an advantage on the Web. On the other hand, the more detailed hinting information of the TrueType fonts allows very extensive optimization for screen use.
  25. "smooth_curve_bezier_example_file.xls". Rotating Machinery Analysis, Inc. Archived from the original on 2011-07-18. Retrieved 2011-02-05.
  26. "FreeType Glyph Conventions / VI. FreeType outlines". The Free Type Project. 13 February 2018."FreeType Glyph Conventions – Version 2.1 / VI. FreeType outlines". 6 March 2011. Archived from the original on 2011-09-29.
  27. {{cite book}}: Empty citation (help)

پیوند به بیرون[ویرایش]